package com.elitesland.org.service;

import com.elitesland.org.vo.OrgAddressBookVO;

import java.util.List;

public interface OrgAddressBookService {

    /**
     * 根据业务记录ID，以及地址簿的类型，返回对应的明细信息
     * @param id 业务记录ID，如员工记录ID，客户记录ID，供应商记录ID
     * @param type 地址簿类型，[UDC]ORG:ADDR_TYPE
     * @return 对应的记录列表
     */
    List<OrgAddressBookVO> listById(Long id, String type);

    List<OrgAddressBookVO> listByIds(List<Long> ids);

    /**
     * 给对应业务记录创建银行账号信息
     * @param abs 银行账号地址簿信息
     */
    void createBankInfoInBatch(List<OrgAddressBookVO> abs);

    void createInBatch(List<OrgAddressBookVO> abs);

    /**
     * 批量更新地址簿信息
     * @param abs 地址簿记录列表
     */
    void updateInBatch(List<OrgAddressBookVO> abs);

    void removeInBatch(List<Long> ids);

    void setPrimary(Long id);
}
